Data compression techniques are commonly used to achieve a reduced bit rate in the digital representation of signals for efficient processing, transmission, and storage. The content of a file is said to be passive of compression when the total storage size of the file can be reduced. There is a limit for this reduction, however, depending on the content, imposing a limit on compression. A compression algorithm generally searches for a different representation of the content, in order to decrease the space required to store the content. The result is a compressed file that has the potential to be restored to the exact original uncompressed file for the case of lossless compression, or to an approximation or similar version of the original uncompressed file for the case of lossy compression. The algorithm to restore the original file is referred to as a decompression algorithm and usually consists of the reverse steps of the compression algorithm.
The size of seismic datasets, for example, continues to increase due to the need to extract oil from more complex geologies. Thus, seismic data compression has become important in geophysical applications, for efficient processing, storage and transmission of seismic data. A need therefore exists for improved techniques for compressing both raw and processed data, such as seismic data. A further need exists for a lossless compression algorithm that uses prior knowledge about the data (e.g., a compression algorithm specific for numbers).